<?php
namespace Common\Controller;
use Think\Controller;
class PublicController extends Controller
{
	public function __construct(){
		parent::__construct();
		//判断是否登录
		if(session('?admin_id')){
			//若已登录，进一步判断是否有权限登录
			$admin_id=session('admin_id');
			//定义允许访问页面数组
			$allow_ac=array('Index-index','Index-login','Index-logout','Index-left','Index-main','Index-top','Index-bottom','Index-swich');
			//获取当前控制器、方法
			$current=CONTROLLER_NAME.'-'.ACTION_NAME;
			//通过admin_id查询think_admin和think_role两表，获取权限信息
			$m=M('Admin');
			$auth_arr=$m->join("think_role ON think_role.id=think_admin.role_id && think_admin.id={$admin_id}")->find();
			$role_auth_ac=$auth_arr['role_auth_ac'];
			/**
			 * 若不满足以下条件，则跳转至首页Index/index
			 * 1.超级管理员
			 * 2.在无权限限制的页面$allow_ac内
			 * 3.通过strpos判断该用户是否具有访问该控制器/方法的权限
			 */
			if($admin_id!=1 && !in_array($current,$allow_ac) && strpos($role_auth_ac,$current)===false){
				$this->error("无权限访问");
			}

		}else{
			//若未登录，直接定义允许访问页面数组
			$allow_ac=array('Index/login');
			//获取当前控制器、方法
			$current=CONTROLLER_NAME."/".ACTION_NAME;
			//如果当前页面不为Index/login，则跳转至Index/login
			if(!in_array($current,$allow_ac)){
				redirect(U("Index/login"));
			}
		}




	}
}